child = gtk_bin_get_child (GTK_BIN (revealer));
if (child != NULL &&
new_visible != gtk_widget_get_child_visible (child))
- gtk_widget_set_child_visible (child, new_visible);
+ {
+ gtk_widget_set_child_visible (child, new_visible);
+ gtk_widget_queue_resize (GTK_WIDGET (revealer));
+ }
transition = effective_transition (revealer);
- if (transition == GTK_REVEALER_TRANSITION_TYPE_CROSSFADE)
+ if (transition == GTK_REVEALER_TRANSITION_TYPE_NONE)
+ {
+ gtk_widget_queue_draw (GTK_WIDGET (revealer));
+ }
+ else if (transition == GTK_REVEALER_TRANSITION_TYPE_CROSSFADE)
{
gtk_widget_set_opacity (GTK_WIDGET (revealer), priv->current_pos);
gtk_widget_queue_draw (GTK_WIDGET (revealer));
GtkRevealerTransitionType transition;
transition = effective_transition (revealer);
- if (transition == GTK_REVEALER_TRANSITION_TYPE_NONE ||
- transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP ||
+ if (transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP ||
transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN)
{
*minimum_height = round (*minimum_height * priv->current_pos);
GtkRevealerTransitionType transition;
transition = effective_transition (revealer);
- if (transition == GTK_REVEALER_TRANSITION_TYPE_NONE ||
- transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT ||
+ if (transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT ||
transition == GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT)
{
*minimum_width = round (*minimum_width * priv->current_pos);
static void
none_animations ()
{
- keep_size (0, GTK_REVEALER_TRANSITION_TYPE_NONE, TRUE);
+ keep_size (KEEP_WIDTH | KEEP_HEIGHT, GTK_REVEALER_TRANSITION_TYPE_NONE, TRUE);
}
static void
none_no_animations ()
{
- keep_size (0, GTK_REVEALER_TRANSITION_TYPE_NONE, FALSE);
+ keep_size (KEEP_WIDTH | KEEP_HEIGHT, GTK_REVEALER_TRANSITION_TYPE_NONE, FALSE);
}
static void